The proliferation of online commercial applications in the recent years has triggered the deployment of highly interactive and sophisticated software applications by various types of providers of services and goods. Based on the client/server model of the Internet the applications are run on remote servers and accessed by customers that connect to them from their data processing devices, such as personal computers (PCs), operating any one of the few freely available client software applications known as browsers or navigators. These servers are also designated in the present application by application server. Possibly accessed from all over the world, the myriad of servers and their countless end-users constitute the world-wide-web, or just the web, establishing connections through a mix of interconnected private and public networks forming what is broadly referred to as the Internet.
As shown in FIG. 1a, in this computing and networking environment, a customer needs just to connect, from a PC 100, to a remote server 150 implementing a web site to have access to any particular software application the server is running and from which customer intends to obtain services. Such web sites are for example set up by travel service providers and airline companies to allow travelers booking and paying online air trips without having to visit a travel agency.
While early web sites were straightforward to use and often limited to the mere consultation of a set of pages providing static information possibly updated once in a while, sophisticated interactive web sites have been since developed mainly by commercial organizations that sell goods and services such as the travel service providers mentioned above. Also, all sorts of institutions and administrations have set up web sites that allow completing complex administrative tasks including, e.g., electronic filing of income tax forms along with their online payment.
Because of the complexity of the tasks that are now handled by such interactive web sites it is not infrequent that customers, and in general end-users of these software applications, experience problems to get all the necessary electronic transactions completed successfully between server and client applications. All sorts of problems are potentially encountered such as, for the end-user, of not being able to properly fill all the fields of an electronics form returned by the application. For instance the end-user may not know in what exact form an answer must be formatted or just does not understand what information is to be provided. Also, many incompatibilities may potentially exist between server application and client software versions which may render the completion of a certain task difficult and that the casual user of the website may not be able to overcome alone. Also, many commercial applications, to keep client interface simple and straightforward to use, do not purposely implement all the possible options for the services they are providing or the goods they are delivering.
In addition to web applications, problems may also arise with software applications that are run locally but not on a server remotely located. Indeed, a user of locally run software application may also encounter difficulties when installing or running the software application.
As a consequence, some organizations that set up websites or that develop locally run software provide a means for requesting assistance when a problem is encountered by end-users and to handle customer requests that would not be imbedded in the user interface. This most often takes the form of a help desk or call center end-users must call to get assistance from anyone of a group of available agents having a level of expertise sufficient to handle most of the problems encountered in the field by end-users of these websites and by online customers.
Modern help desks, particularly those put in place by large commercial and institutional organizations, use very sophisticated tools to expedite the handling of the calls they receive. A very effective technique in use manages to eventually have the help desk agent viewing on his/her own terminal what is displayed on the PC of the end-user or customer who has initiated the call. The agent can then much more quickly understand what poses a problem in the session opened by the end-user of the application server.
Tools that let one or more third-party computers display a remote computer desktop are indeed in widespread active use in many areas not limited to the field of help desks and remote assistance. VNC which stands for virtual network computing is such a graphical tool largely used for desktop sharing. In any case it is remote control software which allows viewing and interacting with one computer desktop using a program on another computer desktop anywhere on the Internet. As shown in FIG. 1 b a VNC server software component must however be installed on the computer to be watched 100, i.e., the one of the end-user or customer that has requested help while the light piece of software, the VNC viewer, is on the agent's computer 400. If VNC is thus very effective to remotely display a desktop it implies that to be able to benefit of this type of assistance the end-user must have first installed the VNC server software on his/her own computer. Component having functions similar to the one of the VNC server are designated in the application by server of a desktop sharing application.
A problem that arise with existing solutions is that VNC server is becoming potentially at risk behind the customer firewall 110, essentially devised to protect customer web client applications, unless it is carefully configured to be operated in the specific customer environment and stay safe while it becomes potentially the subject of many attacks from the network it is connected to. Yet, not all PC users are computer literate which renders existing solutions often risky for the security of the end-user's computer.
Therefore there is a need for a solution that provides help without increasing end-user's computer security or without previously requiring a complex configuration.
Further objects, features and advantages of the present invention will become apparent to the ones skilled in the art upon examination of the following description in reference to the accompanying drawings. It is intended that any additional advantages be incorporated herein.